package com.koron.operation.classes.shift.bean.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.operation.classes.schedule.bean.po.ClassesStaff;
import com.koron.operation.classes.shift.bean.po.ClassesShiftRecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 交接班记录列表
 *
 * @author jzp
 * @since 2021/10/28
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ShiftRecordVO extends ClassesShiftRecord {

    /**
     * 值班人员类型，数据字典：operation_staff_type
     */
    @ApiModelProperty("值班人员类型，数据字典：operation_staff_type")
    private String staffType;

    /**
     * 值班单位id
     */
    @ApiModelProperty("值班单位id")
    private String deptId;

    /**
     * 值班单位名称
     */
    @ApiModelProperty("值班单位名称")
    private String deptName;

    /**
     * 值班地点id
     */
    @ApiModelProperty("值班地点id")
    private String locationId;

    /**
     * 值班地点名称
     */
    @ApiModelProperty("值班地点名称")
    private String locationName;

    /**
     * 班别名称
     */
    @ApiModelProperty("本值班次名称")
    private String thisName;

    /**
     * 值班开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty("本值值班开始时间")
    private Date thisStartTime;

    /**
     * 值班结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty("本值值班结束时间")
    private Date thisEndTime;

    @ApiModelProperty("本值人员列表")
    private List<ClassesStaff> thisStaffs;

    /**
     * 班别名称
     */
    @ApiModelProperty("下值班次名称")
    private String nextName;

    /**
     * 值班开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty("下值值班开始时间")
    private Date nextStartTime;

    /**
     * 值班结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty("下值值班结束时间")
    private Date nextEndTime;

    @ApiModelProperty("下值人员列表")
    private List<ClassesStaff> nextStaffs;
}
